#include <iostream>
using namespace std;

int g;

void e() {
    static int s;
    cout << "e: " << &s << endl;
}

void f() {
    static int s;
    cout << "f: " << &s << endl;
}

void h() {
    static int s;
    cout << "h: " << &s << endl;
}

int main() {
    long n = 0;
    cin >> n;
    cout << "g: " << &g << endl;

    e();
    if (n) {
        f();
    }
    h();

    e();
    if (n) {
        f();
    }
    h();
}
/*
 * 观察静态存储的布局。
 * e/f/h执行两轮。
 * 第一轮f()仅在输入n非0时才执行。
 * 第二轮f()总会执行。
 * 比较g, e, f, h地址的相对位置。
 * f()不执行时e、h的地址连续吗？
 */